#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N=2e5+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//

void solve()
{
	int n, c, q; 
	cin>>n>>c>>q;
	string s; 
	cin >> s;
	map<ll, ll> mp;
	ll end = n;
	while(c--)
	{
	    ll l, r; 
		cin>>l>>r;
	    mp[end+1] = l;
	    end += r-l+1;
	}
	while(q--)
	{
	    ll loc; 
		cin>>loc;
	    while(loc > n)
	    {
	        ll t = (--mp.upper_bound(loc))->first, dif = loc - t;
	        loc = mp[t] + dif; 
	    }
	    cout << s[loc-1] << '\n';
	}
}

int main()
{
	close();
	int T; cin>>T;
	while (T--) solve();
	return 0;
}

